The Internet has evolved into a ubiquitous network that has inspired many companies to rely upon it as a major resource for doing business. For example, many businesses may utilize the Internet, and similar networking infrastructures, to manage critical applications, access content servers, automate assembly and production lines, and implement complex control systems. Such reliance by businesses has driven the demand for higher protection and availability guarantees to resources over the network.
In response to the need for a networking infrastructure that provides both high availability of system resources and protection from failures, cluster architecture was developed. A cluster can be defined as multiple loosely coupled network devices that cooperate to provide client devices access to a set of services, resources, and the like, over the network. Members in the cluster may be employed to increase the reliability and availability of the access.
Many cluster architectures rely on an exchange of a cluster protocol message over the network. The cluster may utilize these messages to manage cluster membership, assign work, and detect member failure. The cluster may designate one of the networks to which it is connected to exchange the protocol messages.
However, the designated network, and its related connections and interconnections, are potential points of failure to the cluster. If a cluster member loses connectivity to the network, it is unable to participate in the protocol and often must leave the cluster. This may result in lost work, as well as degraded overall performance, access, and reliability of the cluster. Additionally, if the network fails, say due to a failure of a switch, hub, or the like, then the entire cluster fails and all connectivity through the cluster is lost. Therefore, there is a need in the industry for a highly reliable clustering infrastructure. Thus, it is with respect to these considerations, and others, that the present invention has been made.